package com.yuandian.business.monitor.service;

import com.yuandian.api.business_monitor.po.QueryRetStatisInfoParams;
import com.yuandian.api.business_monitor.po.SegmentOverviewParams;
import com.yuandian.api.business_monitor.vo.NetworkElementTrend;
import com.yuandian.api.business_monitor.vo.RetStatisInfoVo;
import com.yuandian.api.business_monitor.vo.SegmentOverviewRoadVo;
import com.yuandian.api.business_monitor.vo.SegmentPositionVo;
import com.yuandian.bpm.common.core.util.R;
import com.yuandian.utils.PageDataInfo;
import com.yuandian.vo.TrendDataVo;

import java.util.List;
import java.util.Map;

/**
 * 说明：网端总览service接口
 *
 * @Author yanjun
 * @Date 2020/10/12 13:58
 */
public interface ISegmentOverviewService {

    /**
     * 查询网端总览路径图
     *
     * @param params 网端总览查询对象
     * @return 网端总览路径vo对象
     */
	List<Map<String, Object>> queryOverviewRoad(SegmentOverviewParams params);

    /**
     * 查询网端指标趋势
     *
     * @param params 网端总览查询对象
     * @return 指标趋势展示vo对象
     */
	TrendDataVo queryIndicatorTrend(SegmentOverviewParams params);

    /**
     * 查询返回码统计信息
     *
     * @param params 查询返回码统计信息参数
     * @return 返回码统计信息vo对象集合
     */
    List<RetStatisInfoVo> queryRetStatisInfo(QueryRetStatisInfoParams params);


    /**
     * 查询网端数据总览
     *
     * @param params 分页参数
     * @return 同一返回对象
     */
	PageDataInfo querySegmentDataOverview(SegmentOverviewParams params);

	/**
	 * 修改网端坐标
	 *
	 * @param segmentPositionVo 网端坐标vo对象
	 * @return 通用返回对象
	 */
	R updateSegmentPosition(SegmentPositionVo segmentPositionVo);

	List<NetworkElementTrend> queryNetworkTrend(SegmentOverviewParams params);
}
